package com.example.service;

import com.example.common.result.PageResult;
import com.example.common.result.Result;
import com.example.entity.dto.CoptcDto;
import com.example.entity.dto.GetCoptcListDto;
import com.example.entity.dto.SaleOrder.BatchUpdateCoptcDto;
import com.example.entity.dto.SaleOrder.BatchUpdateCoptcListDto;
import com.example.entity.vo.Business.BatchUpdateCoptcListVo;
import com.example.entity.vo.CoptcGyVo;
import com.example.entity.vo.CoptdFZzVo;
import com.example.entity.yifei.Coptc;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.scheduling.annotation.AsyncResult;

import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author LiangPandeng
 * @since 2024-02-28
 */
public interface CoptcService extends IService<Coptc> {

    CompletableFuture<Result> add(CoptcDto coptcDto);

    PageResult selectPage(Integer current, Integer size, GetCoptcListDto getCoptcListDto);

    Result updateCoptc(CoptcDto coptcDto);

    Result<List<BatchUpdateCoptcListVo>> batchUpdateCoptcList(BatchUpdateCoptcListDto dto);

    Result batchUpdate(BatchUpdateCoptcDto dto);

    Boolean tc30Is0(String tc001, String tc002);

    Result<List<CoptcGyVo>> queryCoptcGyVo(String TC001, String TC002);

    Result<Map<String, CoptdFZzVo>> queryCoptdFZz(CoptdFZzVo coptdFZzVo);
}
